﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Urgencias.Modelo
{
    class Funcionario:Persona
    {
        bool disponible;

        public bool Disponible
        {
            get { return disponible; }
            set { disponible = value; }
        }

        public System.Collections.Generic.List<Urgencia> urgencia;

        /// <summary>
        /// Property for collection of Urgencia
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public System.Collections.Generic.List<Urgencia> Urgencia
        {
            get
            {
                if (urgencia == null)
                    urgencia = new System.Collections.Generic.List<Urgencia>();
                return urgencia;
            }
            set
            {
                RemoveAllUrgencia();
                if (value != null)
                {
                    foreach (Urgencia oUrgencia in value)
                        AddUrgencia(oUrgencia);
                }
            }
        }

        /// <summary>
        /// Add a new Urgencia in the collection
        /// </summary>
        /// <pdGenerated>Default Add</pdGenerated>
        public void AddUrgencia(Urgencia newUrgencia)
        {
            if (newUrgencia == null)
                return;
            if (this.urgencia == null)
                this.urgencia = new System.Collections.Generic.List<Urgencia>();
            if (!this.urgencia.Contains(newUrgencia))
                this.urgencia.Add(newUrgencia);
        }

        /// <summary>
        /// Remove an existing Urgencia from the collection
        /// </summary>
        /// <pdGenerated>Default Remove</pdGenerated>
        public void RemoveUrgencia(Urgencia oldUrgencia)
        {
            if (oldUrgencia == null)
                return;
            if (this.urgencia != null)
                if (this.urgencia.Contains(oldUrgencia))
                    this.urgencia.Remove(oldUrgencia);
        }

        /// <summary>
        /// Remove all instances of Urgencia from the collection
        /// </summary>
        /// <pdGenerated>Default removeAll</pdGenerated>
        public void RemoveAllUrgencia()
        {
            if (urgencia != null)
                urgencia.Clear();
        }
    }
}
